FrameLib  2.0
DSP processing with frames of arbitrary timing and length
FrameLib_Threading.h File Reference
#include "FrameLib_Types.h"
#include <atomic>
#include <windows.h>

Go to the source code of this file.

Classes

class  FrameLib_SpinLock
 a spinlock that can be locked, attempted or acquired. More...
 
class  FrameLib_SpinLockHolder
 a RAII hold utility for a FrameLib_SpinLock More...
 
class  FrameLib_Thread
 lightweight joinable thread with variable priority level More...
 
class  FrameLib_Semaphore
 a semaphore class wrapping an OS-level semaphore More...
 
class  FrameLib_TriggerableThread
 a thread that can be triggered from another thread (there is no mechanism to check progress) More...
 
class  FrameLib_DelegateThread
 a thread to delegate tasks to, which can be then be checked for completion More...
 

Namespaces

 OS_Specific
 

Typedefs

typedef HANDLE OS_Specific::OSThreadType
 
typedef HANDLE OS_Specific::OSSemaphoreType
 
typedef DWORD WINAPI OS_Specific::OSThreadFunctionType(LPVOID arg)
 

Functions

template<class T >
bool compareAndSwap (std::atomic< T > &value, T comparand, T exchange)
 
template<class T >
bool nullSwap (std::atomic< T *> &value, T *exchange)
 

Function Documentation

◆ compareAndSwap()

template<class T >
bool compareAndSwap ( std::atomic< T > &  value,
comparand,
exchange 
)

◆ nullSwap()

template<class T >
bool nullSwap ( std::atomic< T *> &  value,
T *  exchange 
)